package com.hefei.blog.base.utils;

import org.apache.commons.lang.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.safety.Whitelist;
import org.springframework.web.util.HtmlUtils;

public class HTMLParser {

//	/**
//	 * 去掉HTML中的所有标签、属性，获得纯文本
//	 */
//	public static String plainText(String html){
//		Document doc = Jsoup.parse(html);//解析HTML字符串返回一个Document实现
//		String text = doc.body().text(); // 取得字符串中的文本
//		return text;
//	}
	
	/**
	 * 提取纯文本
	 * @param html 代码
	 * @return string
	 */
	public static String getText(String html) {
		if (html == null)
			return null;
		return Jsoup.clean(html, Whitelist.none());
	}
	
	/**
	 * 提取纯文本
	 * @param html 代码
	 * @param length 提取文本长度
	 * @return string
	 */
	public static String getText(String html, int length){
		String text = getText(html);
		text = StringUtils.abbreviate(text, length);
		return HtmlUtils.htmlEscape(text);
	}

	/**
	 * 以下标签可以通过 (b, em, i, strong, u. 纯文本)
	 * @param html 代码
	 * @return string
	 */
	public static String getSimpleHtml(String html) {
		if (html == null)
			return null;
		return Jsoup.clean(html, Whitelist.simpleText());
	}

	/**
	 * 获取文章中的img url
	 * @param html 代码
	 * @return string
	 */
	public static String getImgSrc(String html) {
		if (html == null)
			return null;
		Document doc = Jsoup.parseBodyFragment(html);
		Element image = doc.select("img").first();
		return image == null ? null : image.attr("src");
	}
}
